/*
 * @lc app=leetcode.cn id=26 lang=javascript
 *
 * [26] 删除有序数组中的重复项
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
  const n = nums.length;
  if (n === 0) {
    return 0;
  }
  let fast = 1,
    slow = 1; //快指针，慢指针
  for (let fast = 1; fast < n; ++fast) {
    if (nums[fast] != nums[fast - 1]) {
      nums[slow] = nums[fast];
      slow++
    }
  }
  return slow;
};
/* 
利用双指针遍历数组，在这个排序好的数组中如果两个元素值相等 那么下标必然相邻；
当出现一个不同的值时 那么这个值必然是与他前一个值不同的，只要将新值传入慢指针指向的位置就可。
*/
// @lc code=end